每次當有人批判 pair programming 是用兩倍的成本做一個人的產出時,我就會問他,你們被測試出來的 bug 多嗎?bug 痛嗎?修 bug 的時間+重測的時間 佔用了你們多少的工作時間?
那是因為大部分人都以為開發只是把功能寫出來會動就好,卻沒想過有品質的交付+團隊技能提昇+產品知識互相備援,其實在 pair/mob programming 過程中就會被一次搞定。
再厲害的人其實也有盲點,兩個厲害的 developer 寫出來的 code 也不會一樣,而這些都會在後續產生一些衍生成本,而 pair/mob programming 會消除這些盲點與成本。
發現 defect 的時間點越晚,修復 defect 的成本越高。(冪次上升)
pair/mob programming 是在開發的當下就能大量發現「盲點」型的錯誤,甚至是 design 上的 defect, 而不只是 feature 上的 defect。